﻿using System;
using System.Runtime.InteropServices;

namespace MessagePack
{
	// Token: 0x02000007 RID: 7
	[StructLayout(LayoutKind.Explicit)]
	internal struct Float32Bits
	{
		// Token: 0x06000011 RID: 17 RVA: 0x000023F0 File Offset: 0x000007F0
		public Float32Bits(float value)
		{
			this = default(Float32Bits);
			this.Value = value;
		}

		// Token: 0x06000012 RID: 18 RVA: 0x00002414 File Offset: 0x00000814
		public Float32Bits(byte[] bigEndianBytes, int offset)
		{
			this = default(Float32Bits);
			if (BitConverter.IsLittleEndian)
			{
				this.Byte0 = bigEndianBytes[offset + 3];
				this.Byte1 = bigEndianBytes[offset + 2];
				this.Byte2 = bigEndianBytes[offset + 1];
				this.Byte3 = bigEndianBytes[offset];
			}
			else
			{
				this.Byte0 = bigEndianBytes[offset];
				this.Byte1 = bigEndianBytes[offset + 1];
				this.Byte2 = bigEndianBytes[offset + 2];
				this.Byte3 = bigEndianBytes[offset + 3];
			}
		}

		// Token: 0x04000006 RID: 6
		[FieldOffset(0)]
		public readonly float Value;

		// Token: 0x04000007 RID: 7
		[FieldOffset(0)]
		public readonly byte Byte0;

		// Token: 0x04000008 RID: 8
		[FieldOffset(1)]
		public readonly byte Byte1;

		// Token: 0x04000009 RID: 9
		[FieldOffset(2)]
		public readonly byte Byte2;

		// Token: 0x0400000A RID: 10
		[FieldOffset(3)]
		public readonly byte Byte3;
	}
}
